﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DtoFw.Query
{

    public class PageDto
    {
        public int Page { get; set; } = 1;
        public int PageSize { get; set; } = 20;
    }
    /// <summary>
    /// 案件查询DTO
    /// </summary>
    public class QueryCaseDto : PageDto
    {
        public long Id { get; set; }
        public string CaseNo { get; set; }

        public string InspectionNo { get; set; }

        public string CaseName { get; set; }

        public string CaseTypeCode { get; set; }

        public string CaseTypeName { get; set; }

        public DateTime? CaseTime { get; set; }
        public DateTime? CaseTimeStart { get; set; }
        public DateTime? CaseTimeEnd { get; set; }

        public string CasePlace { get; set; }

        public long HostUserId { get; set; }

        public string HostUserName { get; set; }

        public long HostUserOrgan { get; set; }

        public string HostUserOrganName { get; set; }

        public string BriefCase { get; set; }

        public long currentOrganId { get; set; }

    }

    /// <summary>
    /// 物品查询DTO
    /// </summary>
    public class QueryEvidenceDto : PageDto
    {
        /// <summary>
        /// 物品ID
        /// </summary>
        public long id { get; set; }

        //单位ID
        public long? OrganId { get; set; }
        /// <summary>
        /// 案件编号
        /// </summary>
        public string CaseNo { get; set; }

        /// <summary>
        /// 勘验号
        /// </summary>
        public string InspectionNo { get; set; }

        /// <summary>
        /// 案件名称
        /// </summary>
        public string CaseName { get; set; }

        /// <summary>
        /// 物品编号
        /// </summary>
        public System.String No { get; set; }

        /// <summary>
        /// 物品名称
        /// </summary>
        public System.String Name { get; set; }

        /// <summary>
        /// 物品状态
        /// </summary>
        public int? Status { get; set; }
        public string StatusName { 
            get
            {
                switch (Status)
                {
                    case 0: return "已登记";
                    case 1: return "已入库";
                    case 2: return "已出库";
                }
                return "已登记";
            }
        }


        /// <summary>
        /// 物品性状
        /// </summary>
        public System.String Shape { get; set; }

        /// <summary>
        /// 物品大类
        /// </summary>
        public System.String Class { get; set; }
        public System.String ClassName { get; set; }

        /// <summary>
        /// 物品子类
        /// </summary>
        public System.String Category { get; set; }
        public System.String CategoryName { get; set; }

        /// <summary>
        /// 数量
        /// </summary>
        public System.Int32? Quantity { get; set; }

        /// <summary>
        /// 单位
        /// </summary>
        public System.String Unit { get; set; }

        /// <summary>
        /// 物品来源
        /// </summary>
        public System.String EvidenceSource { get; set; }
        /// <summary>
        /// 物品规格
        /// </summary>
        public System.String source { get; set; }

        /// <summary>
        /// 提取部位
        /// </summary>
        public System.String ExtractionParts { get; set; }

        /// <summary>
        /// 提取方法
        /// </summary>
        public System.String ExtractMethod { get; set; }

        /// <summary>
        /// 提取人1姓名
        /// </summary>
        public System.String ExtractionPerson1Nmae { get; set; }

        /// <summary>
        /// 提取人姓名
        /// </summary>
        public System.String ExtractionPersonName { get; set; }

        /// <summary>
        /// 提取时间
        /// </summary>
        public System.DateTime? ExtractionDateTime { get; set; }
        public System.DateTime? ExtractionDateTimeStart { get; set; }
        public System.DateTime? ExtractionDateTimeEnd { get; set; }

        /// <summary>
        /// 提取人所在机构
        /// </summary>
        public System.Int64? ExtractionOrganId { get; set; }

        /// <summary>
        /// 提取人所在机构名称
        /// </summary>
        public System.String ExtractionOrganName { get; set; }

        /// <summary>
        /// 特征描述
        /// </summary>
        public System.String Describe { get; set; }

        /// <summary>
        /// 存放位置
        /// </summary>
        public string Location { get; set; }

        //创建时间
        public DateTime? CreateTime { get; set; }
        public System.DateTime? CreateTimeStart { get; set; }
        public System.DateTime? CreateTimeEnd { get; set; }

        public string SubCategoryId { get; set; }

        public long currentOrganId { get; set; }
    }

    /// <summary>
    /// 物品硕源DTO
    /// </summary>
    public class QuerySourceDto
    {
        public List<QueryEvidenceDto> SourceList { get; set; } = new List<QueryEvidenceDto>();

        public SourceEviDto SourceTimeLine { get; set; } = new SourceEviDto();

    }

    /// <summary>
    /// 物品硕源DTO
    /// </summary>
    public class QueryDto
    {
        public string caseNo { get; set; }
        public string invNo { get; set; }
        public string eviNo { get; set; }

    }
}
